package dao;

import java.util.ArrayList;
import java.util.List;

import negocio.Factura;

import org.hibernate.SessionFactory;

import org.hibernate.classic.Session;


import hbt.HibernateUtil;

public class FacturaDAO {

	private static SessionFactory sf;
	private static FacturaDAO instancia;
	
	
	public static FacturaDAO getInstancia(){
		if(instancia==null){
			sf=HibernateUtil.getSessionFactory();
			instancia=new FacturaDAO();
		}
		return instancia;
	}
	
	
	
	public List<Factura> getAllFacturas(){
		Session s = sf.openSession();
		
		Factura f = new Factura();
		List<Factura>lista= new ArrayList<>();
		for(int id: this.getAllId()){
			f.setId_factura(id);
			s.load(f, f.getId_factura());
			lista.add(f);
			
		}
		return lista;
			
		
		
		
	}
	
	
	@SuppressWarnings("unchecked")
	private List<Integer> getAllId(){
		Session s = sf.openSession();
		List<Integer>lista= s.createQuery("select f.id_factura from Factura f").list();
		return lista;
		
	}
	
	
}
